/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Entities;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author ADMIN
 */
@Entity
@Table(name = "queja", catalog = "SIESCO", schema = "dbo")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Queja.findAll", query = "SELECT q FROM Queja q"),
    @NamedQuery(name = "Queja.findByIdqueja", query = "SELECT q FROM Queja q WHERE q.idqueja = :idqueja"),
    @NamedQuery(name = "Queja.findByIdcliente", query = "SELECT q FROM Queja q WHERE q.idcliente = :idcliente"),
    @NamedQuery(name = "Queja.findByIdusuario", query = "SELECT q FROM Queja q WHERE q.idusuario = :idusuario"),
    @NamedQuery(name = "Queja.findByRecibidopor", query = "SELECT q FROM Queja q WHERE q.recibidopor = :recibidopor"),
    @NamedQuery(name = "Queja.findByAsignadoa", query = "SELECT q FROM Queja q WHERE q.asignadoa = :asignadoa"),
    @NamedQuery(name = "Queja.findByFechaventa", query = "SELECT q FROM Queja q WHERE q.fechaventa = :fechaventa"),
    @NamedQuery(name = "Queja.findByReportadopor", query = "SELECT q FROM Queja q WHERE q.reportadopor = :reportadopor"),
    @NamedQuery(name = "Queja.findByDescripcionqueja", query = "SELECT q FROM Queja q WHERE q.descripcionqueja = :descripcionqueja"),
    @NamedQuery(name = "Queja.findByEstadoqueja", query = "SELECT q FROM Queja q WHERE q.estadoqueja = :estadoqueja")})
public class Queja implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name = "idqueja", nullable = false)
    private Integer idqueja;
    @Basic(optional = false)
    @NotNull
    @Column(name = "idcliente", nullable = false)
    private int idcliente;
    @Basic(optional = false)
    @NotNull
    @Column(name = "idusuario", nullable = false)
    private int idusuario;
    @Basic(optional = false)
    @NotNull
    @Column(name = "recibidopor", nullable = false)
    private int recibidopor;
    @Basic(optional = false)
    @NotNull
    @Column(name = "asignadoa", nullable = false)
    private int asignadoa;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechaventa", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaventa;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 25)
    @Column(name = "reportadopor", nullable = false, length = 25)
    private String reportadopor;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 100)
    @Column(name = "descripcionqueja", nullable = false, length = 100)
    private String descripcionqueja;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 10)
    @Column(name = "estadoqueja", nullable = false, length = 10)
    private String estadoqueja;

    public Queja() {
    }

    public Queja(Integer idqueja) {
        this.idqueja = idqueja;
    }

    public Queja(Integer idqueja, int idcliente, int idusuario, int recibidopor, int asignadoa, Date fechaventa, String reportadopor, String descripcionqueja, String estadoqueja) {
        this.idqueja = idqueja;
        this.idcliente = idcliente;
        this.idusuario = idusuario;
        this.recibidopor = recibidopor;
        this.asignadoa = asignadoa;
        this.fechaventa = fechaventa;
        this.reportadopor = reportadopor;
        this.descripcionqueja = descripcionqueja;
        this.estadoqueja = estadoqueja;
    }

    public Integer getIdqueja() {
        return idqueja;
    }

    public void setIdqueja(Integer idqueja) {
        this.idqueja = idqueja;
    }

    public int getIdcliente() {
        return idcliente;
    }

    public void setIdcliente(int idcliente) {
        this.idcliente = idcliente;
    }

    public int getIdusuario() {
        return idusuario;
    }

    public void setIdusuario(int idusuario) {
        this.idusuario = idusuario;
    }

    public int getRecibidopor() {
        return recibidopor;
    }

    public void setRecibidopor(int recibidopor) {
        this.recibidopor = recibidopor;
    }

    public int getAsignadoa() {
        return asignadoa;
    }

    public void setAsignadoa(int asignadoa) {
        this.asignadoa = asignadoa;
    }

    public Date getFechaventa() {
        return fechaventa;
    }

    public void setFechaventa(Date fechaventa) {
        this.fechaventa = fechaventa;
    }

    public String getReportadopor() {
        return reportadopor;
    }

    public void setReportadopor(String reportadopor) {
        this.reportadopor = reportadopor;
    }

    public String getDescripcionqueja() {
        return descripcionqueja;
    }

    public void setDescripcionqueja(String descripcionqueja) {
        this.descripcionqueja = descripcionqueja;
    }

    public String getEstadoqueja() {
        return estadoqueja;
    }

    public void setEstadoqueja(String estadoqueja) {
        this.estadoqueja = estadoqueja;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idqueja != null ? idqueja.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Queja)) {
            return false;
        }
        Queja other = (Queja) object;
        if ((this.idqueja == null && other.idqueja != null) || (this.idqueja != null && !this.idqueja.equals(other.idqueja))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Entities.Queja[ idqueja=" + idqueja + " ]";
    }
    
}
